home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / cpp_libs / sos3-2.lha / src / knl / knl_sos.c < prev    next >
C/C++ Source or Header  |  1992-01-17  |  61KB  |  1,026 lines

  1. #include "knl_sos.h"
  2. #include "err.h"
  3. #include "cci_use.h"
  4. sos_Object make_sos_Int_object(sos_Int x)
  5. {  return sos_object_from_extern (&x,bcopy_from_sos_Int,_sos_Int_type); }
  6. sos_Int make_sos_Int(sos_Object o)
  7. {  sos_Int x;
  8.    sos_extern_from_object (&x,o,bcopy_to_sos_Int,_sos_Int_type);
  9.    return x; }
  10. sos_Object make_sos_Char_object(sos_Char x)
  11. {  return sos_object_from_extern (&x,bcopy_from_sos_Char,_sos_Char_type); }
  12. sos_Char make_sos_Char(sos_Object o)
  13. {  sos_Char x;
  14.    sos_extern_from_object (&x,o,bcopy_to_sos_Char,_sos_Char_type);
  15.    return x; }
  16. sos_Object make_sos_Cstring_object(sos_Cstring x)
  17. {  return sos_object_from_extern (&x,bcopy_from_sos_Cstring,_sos_Cstring_type); }
  18. sos_Cstring make_sos_Cstring(sos_Object o)
  19. {  sos_Cstring x;
  20.    sos_extern_from_object (&x,o,bcopy_to_sos_Cstring,_sos_Cstring_type);
  21.    return x; }
  22. sos_Object make_sos_Pointer_object(sos_Pointer x)
  23. {  return sos_object_from_extern (&x,bcopy_from_sos_Pointer,_sos_Pointer_type); }
  24. sos_Pointer make_sos_Pointer(sos_Object o)
  25. {  sos_Pointer x;
  26.    sos_extern_from_object (&x,o,bcopy_to_sos_Pointer,_sos_Pointer_type);
  27.    return x; }
  28. sos_Object make_sos_Container_object(sos_Container x)
  29. {  return sos_object_from_extern (&x,bcopy_from_sos_Container,_sos_Container_type); }
  30. sos_Container make_sos_Container(sos_Object o)
  31. {  sos_Container x;
  32.    sos_extern_from_object (&x,o,bcopy_to_sos_Container,_sos_Container_type);
  33.    return x; }
  34. sos_Object make_sos_Id_object(sos_Id x)
  35. {  return sos_object_from_extern (&x,bcopy_from_sos_Id,_sos_Id_type); }
  36. sos_Id make_sos_Id(sos_Object o)
  37. {  sos_Id x;
  38.    sos_extern_from_object (&x,o,bcopy_to_sos_Id,_sos_Id_type);
  39.    return x; }
  40. sos_Object make_sos_Offset_object(sos_Offset x)
  41. {  return sos_object_from_extern (&x,bcopy_from_sos_Offset,_sos_Offset_type); }
  42. sos_Offset make_sos_Offset(sos_Object o)
  43. {  sos_Offset x;
  44.    sos_extern_from_object (&x,o,bcopy_to_sos_Offset,_sos_Offset_type);
  45.    return x; }
  46. sos_Object make_sos_Bool_object(sos_Bool x)
  47. {  return sos_object_from_extern (&x,bcopy_from_sos_Bool,_sos_Bool_type); }
  48. sos_Bool make_sos_Bool(sos_Object o)
  49. {  sos_Bool x;
  50.    sos_extern_from_object (&x,o,bcopy_to_sos_Bool,_sos_Bool_type);
  51.    return x; }
  52. sos_Object make_sos_Eq_kind_object(sos_Eq_kind x)
  53. {  return sos_object_from_extern (&x,bcopy_from_sos_Eq_kind,_sos_Eq_kind_type); }
  54. sos_Eq_kind make_sos_Eq_kind(sos_Object o)
  55. {  sos_Eq_kind x;
  56.    sos_extern_from_object (&x,o,bcopy_to_sos_Eq_kind,_sos_Eq_kind_type);
  57.    return x; }
  58. sos_Object make_sos_Comp_result_object(sos_Comp_result x)
  59. {  return sos_object_from_extern (&x,bcopy_from_sos_Comp_result,_sos_Comp_result_type); }
  60. sos_Comp_result make_sos_Comp_result(sos_Object o)
  61. {  sos_Comp_result x;
  62.    sos_extern_from_object (&x,o,bcopy_to_sos_Comp_result,_sos_Comp_result_type);
  63.    return x; }
  64. _sos_Object* _sos_Object::_make(sos_Typed_id &tpid)
  65. {  return (_sos_Object*)cci_Schema_impl::get_make_obj(_sos_Object_type,tpid.get_tp());
  66. }
  67. sos_Offset _sos_Object::_size(){return 8;}
  68. void _sos_Object::_create(sos_Typed_id&_tpid){
  69.    sos_Object _x=sos_Object::make(_tpid,this);
  70. }
  71. void _sos_Object::_copy(sos_Typed_id&_tpid,sos_Object y){
  72.    sos_Object x=sos_Object::make(_tpid,this);
  73. }
  74. sos_Object _sos_Object::_clone(sos_Typed_id&_tpid,sos_Container cnt){
  75.    sos_Object _x=sos_Object::make(_tpid,this);
  76.    return sos_Object::copy(_x,cnt);}
  77. void _sos_Object::destroy(sos_Typed_id&_tpid){
  78.    _tpid.container().deallocate(_tpid.offset(),8);}
  79. void _sos_Object::assign(sos_Typed_id&_tpid,sos_Object o){
  80.    sos_Object x=sos_Object::make(_tpid,this);
  81.    _sos_Object::local_assign(x,o);
  82. }
  83. sos_Bool _sos_Object::equal(sos_Typed_id&_tpid,sos_Object o,sos_Eq_kind eq_kind){
  84.    sos_Object x=sos_Object::make(_tpid,this);
  85.    if (! _sos_Object::local_equal(x,o,eq_kind)) return FALSE;
  86.    return TRUE;}
  87. sos_Int _sos_Object::hash_value(sos_Typed_id&_tpid){
  88.    sos_Object x=sos_Object::make(_tpid,this);
  89.    sos_Int result=0;
  90.    result ^= _sos_Object::local_hash_value(x);
  91.    return result;}
  92. sos_Id _sos_Object::get_type_id(sos_Typed_id&_tpid)
  93. {  union {sos_Id x; char c[8];} u; sos_Id a;
  94.    _tpid.container().read(_tpid.offset()+_offset_sos_Object()+0,8,&u);
  95.    bcopy_to_sos_Id(&a,&u);
  96.    return a;}
  97. void _sos_Object::set_type_id(sos_Typed_id&_tpid,sos_Id a){
  98.    union {sos_Id x; char c[8];} u;
  99.    bcopy_from_sos_Id(&a,&u);
  100.    _tpid.container().write(_tpid.offset() + _offset_sos_Object() + 0,8,&u);
  101. }
  102. static sos_Object _univ_15319856_55288(sos_Object o,sos_Object_Array){
  103.    sos_Object::make (o).destroy();
  104.    return NO_OBJECT;}
  105. static sos_Object _univ_15319856_50448(sos_Object o,sos_Object_Array p){
  106.    sos_Object o1=p[0];
  107.    sos_Object::make (o).assign(sos_Object::make(o1));
  108.    return NO_OBJECT;}
  109. static sos_Object _univ_15319856_55804(sos_Object o,sos_Object_Array p){
  110.    sos_Object o1=p[0], o2=p[1];
  111.    return ::make_sos_Bool_object(sos_Object::make (o).equal(sos_Object::make(o1),::make_sos_Eq_kind(o2)));}
  112. static sos_Object _univ_15319856_55868(sos_Object o,sos_Object_Array){
  113.    return ::make_sos_Int_object(sos_Object::make (o).hash_value());}
  114. static sos_Object _univ_15319856_55932(sos_Object o,sos_Object_Array){
  115.    return sos_Object::make(sos_Object::make (o).type());}
  116. static sos_Object _univ_15319856_55996(sos_Object o,sos_Object_Array p){
  117.    sos_Object o1=p[0];
  118.    return ::make_sos_Bool_object(sos_Object::make (o).has_type(sos_Type::make(o1)));}
  119. static sos_Object _univ_15319856_56060(sos_Object o,sos_Object_Array p){
  120.    sos_Object o1=p[0];
  121.    return ::make_sos_Bool_object(sos_Object::make (o).isa(sos_Type::make(o1)));}
  122. static sos_Object _univ_15319856_56124(sos_Object o,sos_Object_Array p){
  123.    sos_Object o1=p[0];
  124.    return ::make_sos_Bool_object(sos_Object::make (o).is_some(sos_Type::make(o1)));}
  125. static sos_Object _univ_15319856_56188(sos_Object o,sos_Object_Array){
  126.    return ::make_sos_Bool_object(sos_Object::make (o).is_value());}
  127. static sos_Object _univ_15319856_56252(sos_Object o,sos_Object_Array){
  128.    return ::make_sos_Int_object(sos_Object::make (o).size());}
  129. static sos_Object _univ_15319856_56320(sos_Object o,sos_Object_Array p){
  130.    sos_Object o1=p[0];
  131.    return ::make_sos_Bool_object(sos_Object::make (o).identical(sos_Object::make(o1)));}
  132. static sos_Object _univ_15319856_56384(sos_Object o,sos_Object_Array p){
  133.    sos_Object o1=p[0];
  134.    return ::make_sos_Bool_object(sos_Object::make (o).operator==(sos_Object::make(o1)));}
  135. static sos_Object _univ_15319856_56448(sos_Object o,sos_Object_Array p){
  136.    sos_Object o1=p[0];
  137.    return ::make_sos_Bool_object(sos_Object::make (o).operator!=(sos_Object::make(o1)));}
  138. static sos_Object _univ_15319856_56512(sos_Object o,sos_Object_Array p){
  139.    sos_Object o1=p[0];
  140.    return ::make_sos_Bool_object(sos_Object::make (o).like(sos_Object::make(o1)));}
  141. static sos_Object _univ_15319856_56576(sos_Object o,sos_Object_Array p){
  142.    sos_Object o1=p[0];
  143.    return ::make_sos_Comp_result_object(sos_Object::make (o).compare_ids(sos_Object::make(o1)));}
  144. static void _init_meth_15319856_3764(){
  145.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),55288),(cci_Fun)_univ_15319856_55288);
  146.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),50448),(cci_Fun)_univ_15319856_50448);
  147.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),55804),(cci_Fun)_univ_15319856_55804);
  148.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),55868),(cci_Fun)_univ_15319856_55868);
  149.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),55932),(cci_Fun)_univ_15319856_55932);
  150.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),55996),(cci_Fun)_univ_15319856_55996);
  151.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),56060),(cci_Fun)_univ_15319856_56060);
  152.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),56124),(cci_Fun)_univ_15319856_56124);
  153.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),56188),(cci_Fun)_univ_15319856_56188);
  154.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),56252),(cci_Fun)_univ_15319856_56252);
  155.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),56320),(cci_Fun)_univ_15319856_56320);
  156.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),56384),(cci_Fun)_univ_15319856_56384);
  157.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),56448),(cci_Fun)_univ_15319856_56448);
  158.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),56512),(cci_Fun)_univ_15319856_56512);
  159.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),56576),(cci_Fun)_univ_15319856_56576);
  160. }
  161. static void _init_comp_15319856_3764(){
  162. }
  163. static sos_Object _univ_15319856_56768(sos_Object,sos_Object_Array p){
  164.    sos_Object o1=p[0];
  165.    return sos_Object::make(sos_Object::create(::make_sos_Container(o1)));}
  166. static sos_Object _univ_15319856_56832(sos_Object,sos_Object_Array p){
  167.    sos_Object o1=p[0], o2=p[1];
  168.    return sos_Object::make(sos_Object::copy(sos_Object::make(o1),::make_sos_Container(o2)));}
  169. static sos_Object _univ_15319856_56896(sos_Object,sos_Object_Array p){
  170.    sos_Object o1=p[0], o2=p[1];
  171.    return sos_Object::make(sos_Object::clone(sos_Object::make(o1),::make_sos_Container(o2)));}
  172. static void _init_stat_15319856_3764(){
  173.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),56768),(cci_Fun)_univ_15319856_56768);
  174.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),56832),(cci_Fun)_univ_15319856_56832);
  175.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),56896),(cci_Fun)_univ_15319856_56896);
  176. }
  177. _sos_Object *__sos_Object_obj;
  178. static void _init_new_15319856_3764(){
  179.    cci_Schema_impl::enter_make_obj(_sos_Object_type,_sos_Object_type,(_sos_Object*)__sos_Object_obj);
  180. }
  181. sos_Object sos_Object::make(sos_Typed_id&p){
  182.    sos_Object o; o._tpid=p;
  183.    o._ref=_sos_Object::_make(p); return o;}
  184. sos_Object sos_Object::make(sos_Root_class& o){return sos_Object::make(o.typed_id());}
  185.    sos_Offset sos_Object::_size(){return _ref->_size();}
  186. sos_Object sos_Object::create(sos_Container _cnt){
  187.    sos_Object _x=sos_Object::make(sos_Typed_id::allocate(sos_Object_type,_cnt,8));
  188.    _x._ref->_create(_x._tpid);
  189.    return _x;
  190. }
  191. sos_Object sos_Object::copy(sos_Object y,sos_Container cnt){
  192.    sos_Object x=sos_Object::make(sos_Typed_id::allocate(sos_Object_type,cnt,8));
  193.    x._ref->_copy(x._tpid,y);
  194.    x.assign(y);
  195.    return x;
  196. }
  197. sos_Object sos_Object::clone(sos_Object o,sos_Container cnt){
  198.    return sos_Object::make (o._ref->_clone(o._tpid,cnt));
  199. }
  200. void sos_Object::destroy(){(_ref->destroy(_tpid));}
  201. void sos_Object::assign(sos_Object source){(_ref->assign(_tpid,source));}
  202. sos_Bool sos_Object::equal(sos_Object o,sos_Eq_kind eq_kind){return (_ref->equal(_tpid,o,eq_kind));}
  203. sos_Int sos_Object::hash_value(){return (_ref->hash_value(_tpid));}
  204. sos_Type sos_Object::type(){return (_ref->type(_tpid));}
  205. sos_Bool sos_Object::has_type(sos_Type _p1){return (_ref->has_type(_tpid,_p1));}
  206. sos_Bool sos_Object::isa(sos_Type _p1){return (_ref->isa(_tpid,_p1));}
  207. sos_Bool sos_Object::is_some(sos_Type _p1){return (_ref->is_some(_tpid,_p1));}
  208. sos_Bool sos_Object::is_value(){return (_ref->is_value(_tpid));}
  209. sos_Int sos_Object::size(){return (_ref->size(_tpid));}
  210. sos_Bool sos_Object::identical(sos_Object _p1){return (_ref->identical(_tpid,_p1));}
  211. sos_Bool sos_Object::operator==(sos_Object _p1){return (_ref->__equal(_tpid,_p1));}
  212. sos_Bool sos_Object::operator!=(sos_Object _p1){return (_ref->__not_equal(_tpid,_p1));}
  213. sos_Bool sos_Object::like(sos_Object _p1){return (_ref->like(_tpid,_p1));}
  214. sos_Comp_result sos_Object::compare_ids(sos_Object _p1){return (_ref->compare_ids(_tpid,_p1));}
  215. sos_Id sos_Object::get_type_id(){return (_ref->get_type_id(_tpid));}
  216. void sos_Object::set_type_id(sos_Id _p1){(_ref->set_type_id(_tpid,_p1));}
  217. void sos_Object::local_assign(sos_Object _p1,sos_Object _p2){(_sos_Object::local_assign(_p1,_p2));}
  218. sos_Bool sos_Object::local_equal(sos_Object _p1,sos_Object _p2,sos_Eq_kind _p3){return (_sos_Object::local_equal(_p1,_p2,_p3));}
  219. sos_Int sos_Object::local_hash_value(sos_Object _p1){return (_sos_Object::local_hash_value(_p1));}
  220. _sos_Ordered_object* _sos_Ordered_object::_make(sos_Typed_id &tpid)
  221. {  return (_sos_Ordered_object*)cci_Schema_impl::get_make_obj(_sos_Ordered_object_type,tpid.get_tp());
  222. }
  223. sos_Offset _sos_Ordered_object::_size(){return 8;}
  224. void _sos_Ordered_object::_create(sos_Typed_id&_tpid){
  225.    sos_Ordered_object _x=sos_Ordered_object::make(_tpid,this);
  226. }
  227. void _sos_Ordered_object::_copy(sos_Typed_id&_tpid,sos_Ordered_object y){
  228.    sos_Ordered_object x=sos_Ordered_object::make(_tpid,this);
  229. }
  230. sos_Object _sos_Ordered_object::_clone(sos_Typed_id&_tpid,sos_Container cnt){
  231.    sos_Ordered_object _x=sos_Ordered_object::make(_tpid,this);
  232.    return sos_Ordered_object::copy(_x,cnt);}
  233. void _sos_Ordered_object::destroy(sos_Typed_id&_tpid){
  234.    _tpid.container().deallocate(_tpid.offset(),8);}
  235. void _sos_Ordered_object::assign(sos_Typed_id&_tpid,sos_Object o){
  236.    sos_Ordered_object x=sos_Ordered_object::make(_tpid,this);
  237.    _sos_Object::local_assign(x,o);
  238.    _sos_Ordered_object::local_assign(x,o);
  239. }
  240. void _sos_Ordered_object::local_assign(sos_Ordered_object x,sos_Object o){
  241. }
  242. sos_Bool _sos_Ordered_object::equal(sos_Typed_id&_tpid,sos_Object o,sos_Eq_kind eq_kind){
  243.    sos_Ordered_object x=sos_Ordered_object::make(_tpid,this);
  244.    if (! _sos_Object::local_equal(x,o,eq_kind)) return FALSE;
  245.    if (! _sos_Ordered_object::local_equal(x,o,eq_kind)) return FALSE;
  246.    return TRUE;}
  247. sos_Bool _sos_Ordered_object::local_equal(sos_Ordered_object,sos_Object,sos_Eq_kind) { return TRUE;}
  248. sos_Int _sos_Ordered_object::hash_value(sos_Typed_id&_tpid){
  249.    sos_Ordered_object x=sos_Ordered_object::make(_tpid,this);
  250.    sos_Int result=0;
  251.    result ^= _sos_Object::local_hash_value(x);
  252.    result ^= _sos_Ordered_object::local_hash_value(x);
  253.    return result;}
  254. sos_Int _sos_Ordered_object::local_hash_value(sos_Ordered_object x){
  255.    return x.container().hash_value(x.offset()+x._ref->_offset_sos_Ordered_object(),0);}
  256. sos_Comp_result _sos_Ordered_object::compare(sos_Typed_id&,sos_Ordered_object ) {
  257.    err_raise_abstract_method ("sos_Ordered_object::compare"); 
  258.    return (sos_Comp_result) 0; }
  259. static sos_Object _univ_15319856_57152(sos_Object o,sos_Object_Array){
  260.    sos_Ordered_object::make (o).destroy();
  261.    return NO_OBJECT;}
  262. static sos_Object _univ_15319856_57216(sos_Object o,sos_Object_Array p){
  263.    sos_Object o1=p[0];
  264.    sos_Ordered_object::make (o).assign(sos_Object::make(o1));
  265.    return NO_OBJECT;}
  266. static sos_Object _univ_15319856_57280(sos_Object o,sos_Object_Array p){
  267.    sos_Object o1=p[0], o2=p[1];
  268.    return ::make_sos_Bool_object(sos_Ordered_object::make (o).equal(sos_Object::make(o1),::make_sos_Eq_kind(o2)));}
  269. static sos_Object _univ_15319856_57344(sos_Object o,sos_Object_Array){
  270.    return ::make_sos_Int_object(sos_Ordered_object::make (o).hash_value());}
  271. static sos_Object _univ_15319856_57408(sos_Object o,sos_Object_Array p){
  272.    sos_Object o1=p[0];
  273.    return ::make_sos_Comp_result_object(sos_Ordered_object::make (o).compare(sos_Ordered_object::make(o1)));}
  274. static sos_Object _univ_15319856_57472(sos_Object o,sos_Object_Array p){
  275.    sos_Object o1=p[0];
  276.    return ::make_sos_Bool_object(sos_Ordered_object::make (o).operator<(sos_Ordered_object::make(o1)));}
  277. static sos_Object _univ_15319856_57536(sos_Object o,sos_Object_Array p){
  278.    sos_Object o1=p[0];
  279.    return ::make_sos_Bool_object(sos_Ordered_object::make (o).operator<=(sos_Ordered_object::make(o1)));}
  280. static sos_Object _univ_15319856_57600(sos_Object o,sos_Object_Array p){
  281.    sos_Object o1=p[0];
  282.    return ::make_sos_Bool_object(sos_Ordered_object::make (o).operator>(sos_Ordered_object::make(o1)));}
  283. static sos_Object _univ_15319856_57664(sos_Object o,sos_Object_Array p){
  284.    sos_Object o1=p[0];
  285.    return ::make_sos_Bool_object(sos_Ordered_object::make (o).operator>=(sos_Ordered_object::make(o1)));}
  286. static void _init_meth_15319856_13556(){
  287.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),57152),(cci_Fun)_univ_15319856_57152);
  288.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),57216),(cci_Fun)_univ_15319856_57216);
  289.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),57280),(cci_Fun)_univ_15319856_57280);
  290.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),57344),(cci_Fun)_univ_15319856_57344);
  291.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),57408),(cci_Fun)_univ_15319856_57408);
  292.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),57472),(cci_Fun)_univ_15319856_57472);
  293.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),57536),(cci_Fun)_univ_15319856_57536);
  294.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),57600),(cci_Fun)_univ_15319856_57600);
  295.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),57664),(cci_Fun)_univ_15319856_57664);
  296. }
  297. static void _init_comp_15319856_13556(){
  298. }
  299. static sos_Object _univ_15319856_57728(sos_Object,sos_Object_Array p){
  300.    sos_Object o1=p[0];
  301.    return sos_Object::make(sos_Ordered_object::create(::make_sos_Container(o1)));}
  302. static sos_Object _univ_15319856_57792(sos_Object,sos_Object_Array p){
  303.    sos_Object o1=p[0], o2=p[1];
  304.    return sos_Object::make(sos_Ordered_object::copy(sos_Ordered_object::make(o1),::make_sos_Container(o2)));}
  305. static sos_Object _univ_15319856_57856(sos_Object,sos_Object_Array p){
  306.    sos_Object o1=p[0], o2=p[1];
  307.    return sos_Object::make(sos_Ordered_object::clone(sos_Ordered_object::make(o1),::make_sos_Container(o2)));}
  308. static void _init_stat_15319856_13556(){
  309.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),57728),(cci_Fun)_univ_15319856_57728);
  310.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),57792),(cci_Fun)_univ_15319856_57792);
  311.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),57856),(cci_Fun)_univ_15319856_57856);
  312. }
  313. _sos_Ordered_object *__sos_Ordered_object_obj;
  314. static void _init_new_15319856_13556(){
  315.    cci_Schema_impl::enter_make_obj(_sos_Object_type,_sos_Ordered_object_type,(_sos_Object*)__sos_Ordered_object_obj);
  316.    cci_Schema_impl::enter_make_obj(_sos_Ordered_object_type,_sos_Ordered_object_type,(_sos_Ordered_object*)__sos_Ordered_object_obj);
  317. }
  318. sos_Ordered_object::operator sos_Object(){return(sos_Object::make(_tpid,_ref));}
  319. sos_Ordered_object sos_Ordered_object::make(sos_Typed_id&p){
  320.    sos_Ordered_object o; o._tpid=p;
  321.    o._ref=_sos_Ordered_object::_make(p); return o;}
  322. sos_Ordered_object sos_Ordered_object::make(sos_Root_class& o){return sos_Ordered_object::make(o.typed_id());}
  323.    sos_Offset sos_Ordered_object::_size(){return _ref->_size();}
  324. sos_Ordered_object sos_Ordered_object::create(sos_Container _cnt){
  325.    sos_Ordered_object _x=sos_Ordered_object::make(sos_Typed_id::allocate(sos_Ordered_object_type,_cnt,8));
  326.    _x._ref->_create(_x._tpid);
  327.    return _x;
  328. }
  329. sos_Ordered_object sos_Ordered_object::copy(sos_Ordered_object y,sos_Container cnt){
  330.    sos_Ordered_object x=sos_Ordered_object::make(sos_Typed_id::allocate(sos_Ordered_object_type,cnt,8));
  331.    x._ref->_copy(x._tpid,y);
  332.    x.assign(y);
  333.    return x;
  334. }
  335. sos_Ordered_object sos_Ordered_object::clone(sos_Ordered_object o,sos_Container cnt){
  336.    return sos_Ordered_object::make (o._ref->_clone(o._tpid,cnt));
  337. }
  338. void sos_Ordered_object::destroy(){(_ref->destroy(_tpid));}
  339. void sos_Ordered_object::assign(sos_Object source){(_ref->assign(_tpid,source));}
  340. sos_Bool sos_Ordered_object::equal(sos_Object o,sos_Eq_kind eq_kind){return (_ref->equal(_tpid,o,eq_kind));}
  341. sos_Int sos_Ordered_object::hash_value(){return (_ref->hash_value(_tpid));}
  342. sos_Comp_result sos_Ordered_object::compare(sos_Ordered_object _p1){return (_ref->compare(_tpid,_p1));}
  343. sos_Bool sos_Ordered_object::operator<(sos_Ordered_object _p1){return (_ref->__less(_tpid,_p1));}
  344. sos_Bool sos_Ordered_object::operator<=(sos_Ordered_object _p1){return (_ref->__less_equal(_tpid,_p1));}
  345. sos_Bool sos_Ordered_object::operator>(sos_Ordered_object _p1){return (_ref->__greater(_tpid,_p1));}
  346. sos_Bool sos_Ordered_object::operator>=(sos_Ordered_object _p1){return (_ref->__greater_equal(_tpid,_p1));}
  347. sos_Type sos_Ordered_object::type(){return (_ref->type(_tpid));}
  348. sos_Bool sos_Ordered_object::has_type(sos_Type _p1){return (_ref->has_type(_tpid,_p1));}
  349. sos_Bool sos_Ordered_object::isa(sos_Type _p1){return (_ref->isa(_tpid,_p1));}
  350. sos_Bool sos_Ordered_object::is_some(sos_Type _p1){return (_ref->is_some(_tpid,_p1));}
  351. sos_Bool sos_Ordered_object::is_value(){return (_ref->is_value(_tpid));}
  352. sos_Int sos_Ordered_object::size(){return (_ref->size(_tpid));}
  353. sos_Bool sos_Ordered_object::identical(sos_Object _p1){return (_ref->identical(_tpid,_p1));}
  354. sos_Bool sos_Ordered_object::operator==(sos_Object _p1){return (_ref->__equal(_tpid,_p1));}
  355. sos_Bool sos_Ordered_object::operator!=(sos_Object _p1){return (_ref->__not_equal(_tpid,_p1));}
  356. sos_Bool sos_Ordered_object::like(sos_Object _p1){return (_ref->like(_tpid,_p1));}
  357. sos_Comp_result sos_Ordered_object::compare_ids(sos_Object _p1){return (_ref->compare_ids(_tpid,_p1));}
  358. void sos_Ordered_object::local_assign(sos_Ordered_object x,sos_Ordered_object y){(_sos_Ordered_object::local_assign(x,y));}
  359. sos_Bool sos_Ordered_object::local_equal(sos_Ordered_object x,sos_Ordered_object y,sos_Eq_kind eq_kind){return (_sos_Ordered_object::local_equal(x,y,eq_kind));}
  360. sos_Int sos_Ordered_object::local_hash_value(sos_Ordered_object x){return (_sos_Ordered_object::local_hash_value(x));}
  361. _sos_Scalar_object* _sos_Scalar_object::_make(sos_Typed_id &tpid)
  362. {  return (_sos_Scalar_object*)cci_Schema_impl::get_make_obj(_sos_Scalar_object_type,tpid.get_tp());
  363. }
  364. sos_Offset _sos_Scalar_object::_size(){return 8;}
  365. void _sos_Scalar_object::_create(sos_Typed_id&_tpid){
  366.    sos_Scalar_object _x=sos_Scalar_object::make(_tpid,this);
  367. _sos_Scalar_object::local_initialize(_x);
  368. }
  369. void _sos_Scalar_object::_copy(sos_Typed_id&_tpid,sos_Scalar_object y){
  370.    sos_Scalar_object x=sos_Scalar_object::make(_tpid,this);
  371. _sos_Scalar_object::local_initialize(x);
  372. }
  373. sos_Object _sos_Scalar_object::_clone(sos_Typed_id&_tpid,sos_Container cnt){
  374.    sos_Scalar_object _x=sos_Scalar_object::make(_tpid,this);
  375.    return sos_Scalar_object::copy(_x,cnt);}
  376. void _sos_Scalar_object::destroy(sos_Typed_id&_tpid){
  377.    _sos_Scalar_object::local_finalize(sos_Scalar_object::make(_tpid,this));
  378.    _tpid.container().deallocate(_tpid.offset(),8);}
  379. void _sos_Scalar_object::assign(sos_Typed_id&_tpid,sos_Object o){
  380.    sos_Scalar_object x=sos_Scalar_object::make(_tpid,this);
  381.    _sos_Object::local_assign(x,o);
  382.    _sos_Scalar_object::local_assign(x,o);
  383. }
  384. sos_Bool _sos_Scalar_object::equal(sos_Typed_id&_tpid,sos_Object o,sos_Eq_kind eq_kind){
  385.    sos_Scalar_object x=sos_Scalar_object::make(_tpid,this);
  386.    if (! _sos_Object::local_equal(x,o,eq_kind)) return FALSE;
  387.    if (! _sos_Scalar_object::local_equal(x,o,eq_kind)) return FALSE;
  388.    return TRUE;}
  389. sos_Int _sos_Scalar_object::hash_value(sos_Typed_id&_tpid){
  390.    sos_Scalar_object x=sos_Scalar_object::make(_tpid,this);
  391.    sos_Int result=0;
  392.    result ^= _sos_Object::local_hash_value(x);
  393.    result ^= _sos_Scalar_object::local_hash_value(x);
  394.    return result;}
  395. static sos_Object _univ_15319856_58112(sos_Object o,sos_Object_Array){
  396.    sos_Scalar_object::make (o).destroy();
  397.    return NO_OBJECT;}
  398. static sos_Object _univ_15319856_58176(sos_Object o,sos_Object_Array p){
  399.    sos_Object o1=p[0];
  400.    sos_Scalar_object::make (o).assign(sos_Object::make(o1));
  401.    return NO_OBJECT;}
  402. static sos_Object _univ_15319856_58240(sos_Object o,sos_Object_Array p){
  403.    sos_Object o1=p[0], o2=p[1];
  404.    return ::make_sos_Bool_object(sos_Scalar_object::make (o).equal(sos_Object::make(o1),::make_sos_Eq_kind(o2)));}
  405. static sos_Object _univ_15319856_58304(sos_Object o,sos_Object_Array){
  406.    return ::make_sos_Int_object(sos_Scalar_object::make (o).hash_value());}
  407. static void _init_meth_15319856_21084(){
  408.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),58112),(cci_Fun)_univ_15319856_58112);
  409.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),58176),(cci_Fun)_univ_15319856_58176);
  410.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),58240),(cci_Fun)_univ_15319856_58240);
  411.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),58304),(cci_Fun)_univ_15319856_58304);
  412. }
  413. static void _init_comp_15319856_21084(){
  414. }
  415. static sos_Object _univ_15319856_58368(sos_Object,sos_Object_Array p){
  416.    sos_Object o1=p[0];
  417.    return sos_Object::make(sos_Scalar_object::create(::make_sos_Container(o1)));}
  418. static sos_Object _univ_15319856_58432(sos_Object,sos_Object_Array p){
  419.    sos_Object o1=p[0], o2=p[1];
  420.    return sos_Object::make(sos_Scalar_object::copy(sos_Scalar_object::make(o1),::make_sos_Container(o2)));}
  421. static sos_Object _univ_15319856_58496(sos_Object,sos_Object_Array p){
  422.    sos_Object o1=p[0], o2=p[1];
  423.    return sos_Object::make(sos_Scalar_object::clone(sos_Scalar_object::make(o1),::make_sos_Container(o2)));}
  424. static void _init_stat_15319856_21084(){
  425.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),58368),(cci_Fun)_univ_15319856_58368);
  426.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),58432),(cci_Fun)_univ_15319856_58432);
  427.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),58496),(cci_Fun)_univ_15319856_58496);
  428. }
  429. _sos_Scalar_object *__sos_Scalar_object_obj;
  430. static void _init_new_15319856_21084(){
  431.    cci_Schema_impl::enter_make_obj(_sos_Object_type,_sos_Scalar_object_type,(_sos_Object*)__sos_Scalar_object_obj);
  432.    cci_Schema_impl::enter_make_obj(_sos_Scalar_object_type,_sos_Scalar_object_type,(_sos_Scalar_object*)__sos_Scalar_object_obj);
  433. }
  434. sos_Scalar_object::operator sos_Object(){return(sos_Object::make(_tpid,_ref));}
  435. sos_Scalar_object sos_Scalar_object::make(sos_Typed_id&p){
  436.    sos_Scalar_object o; o._tpid=p;
  437.    o._ref=_sos_Scalar_object::_make(p); return o;}
  438. sos_Scalar_object sos_Scalar_object::make(sos_Root_class& o){return sos_Scalar_object::make(o.typed_id());}
  439.    sos_Offset sos_Scalar_object::_size(){return _ref->_size();}
  440. sos_Scalar_object sos_Scalar_object::create(sos_Container _cnt){
  441.    sos_Scalar_object _x=sos_Scalar_object::make(sos_Typed_id::allocate(sos_Scalar_object_type,_cnt,8));
  442.    _x._ref->_create(_x._tpid);
  443.    return _x;
  444. }
  445. sos_Scalar_object sos_Scalar_object::copy(sos_Scalar_object y,sos_Container cnt){
  446.    sos_Scalar_object x=sos_Scalar_object::make(sos_Typed_id::allocate(sos_Scalar_object_type,cnt,8));
  447.    x._ref->_copy(x._tpid,y);
  448.    x.assign(y);
  449.    return x;
  450. }
  451. sos_Scalar_object sos_Scalar_object::clone(sos_Scalar_object o,sos_Container cnt){
  452.    return sos_Scalar_object::make (o._ref->_clone(o._tpid,cnt));
  453. }
  454. void sos_Scalar_object::destroy(){(_ref->destroy(_tpid));}
  455. void sos_Scalar_object::assign(sos_Object source){(_ref->assign(_tpid,source));}
  456. sos_Bool sos_Scalar_object::equal(sos_Object o,sos_Eq_kind eq_kind){return (_ref->equal(_tpid,o,eq_kind));}
  457. sos_Int sos_Scalar_object::hash_value(){return (_ref->hash_value(_tpid));}
  458. void sos_Scalar_object::local_initialize(sos_Scalar_object _p1){(_sos_Scalar_object::local_initialize(_p1));}
  459. void sos_Scalar_object::local_finalize(sos_Scalar_object _p1){(_sos_Scalar_object::local_finalize(_p1));}
  460. void sos_Scalar_object::local_assign(sos_Scalar_object _p1,sos_Object _p2){(_sos_Scalar_object::local_assign(_p1,_p2));}
  461. sos_Bool sos_Scalar_object::local_equal(sos_Scalar_object _p1,sos_Object _p2,sos_Eq_kind _p3){return (_sos_Scalar_object::local_equal(_p1,_p2,_p3));}
  462. sos_Int sos_Scalar_object::local_hash_value(sos_Scalar_object _p1){return (_sos_Scalar_object::local_hash_value(_p1));}
  463. sos_Type sos_Scalar_object::type(){return (_ref->type(_tpid));}
  464. sos_Bool sos_Scalar_object::has_type(sos_Type _p1){return (_ref->has_type(_tpid,_p1));}
  465. sos_Bool sos_Scalar_object::isa(sos_Type _p1){return (_ref->isa(_tpid,_p1));}
  466. sos_Bool sos_Scalar_object::is_some(sos_Type _p1){return (_ref->is_some(_tpid,_p1));}
  467. sos_Bool sos_Scalar_object::is_value(){return (_ref->is_value(_tpid));}
  468. sos_Int sos_Scalar_object::size(){return (_ref->size(_tpid));}
  469. sos_Bool sos_Scalar_object::identical(sos_Object _p1){return (_ref->identical(_tpid,_p1));}
  470. sos_Bool sos_Scalar_object::operator==(sos_Object _p1){return (_ref->__equal(_tpid,_p1));}
  471. sos_Bool sos_Scalar_object::operator!=(sos_Object _p1){return (_ref->__not_equal(_tpid,_p1));}
  472. sos_Bool sos_Scalar_object::like(sos_Object _p1){return (_ref->like(_tpid,_p1));}
  473. sos_Comp_result sos_Scalar_object::compare_ids(sos_Object _p1){return (_ref->compare_ids(_tpid,_p1));}
  474. _sos_String* _sos_String::_make(sos_Typed_id &tpid)
  475. {  return (_sos_String*)cci_Schema_impl::get_make_obj(_sos_String_type,tpid.get_tp());
  476. }
  477. sos_Offset _sos_String::_size(){return 16;}
  478. void _sos_String::_create(sos_Typed_id&_tpid){
  479.    sos_String _x=sos_String::make(_tpid,this);
  480. _sos_String::local_initialize(_x);
  481. }
  482. void _sos_String::_copy(sos_Typed_id&_tpid,sos_String y){
  483.    sos_String x=sos_String::make(_tpid,this);
  484. _sos_String::local_initialize(x);
  485. }
  486. sos_Object _sos_String::_clone(sos_Typed_id&_tpid,sos_Container cnt){
  487.    sos_String _x=sos_String::make(_tpid,this);
  488.    return sos_String::copy(_x,cnt);}
  489. void _sos_String::destroy(sos_Typed_id&_tpid){
  490.    _sos_String::local_finalize(sos_String::make(_tpid,this));
  491.    _tpid.container().deallocate(_tpid.offset(),16);}
  492. void _sos_String::assign(sos_Typed_id&_tpid,sos_Object o){
  493.    sos_String x=sos_String::make(_tpid,this);
  494.    _sos_Object::local_assign(x,o);
  495.    _sos_Ordered_object::local_assign(x,o);
  496.    _sos_String::local_assign(x,o);
  497. }
  498. sos_Bool _sos_String::equal(sos_Typed_id&_tpid,sos_Object o,sos_Eq_kind eq_kind){
  499.    sos_String x=sos_String::make(_tpid,this);
  500.    if (! _sos_Object::local_equal(x,o,eq_kind)) return FALSE;
  501.    if (! _sos_Ordered_object::local_equal(x,o,eq_kind)) return FALSE;
  502.    if (! _sos_String::local_equal(x,o,eq_kind)) return FALSE;
  503.    return TRUE;}
  504. sos_Int _sos_String::hash_value(sos_Typed_id&_tpid){
  505.    sos_String x=sos_String::make(_tpid,this);
  506.    sos_Int result=0;
  507.    result ^= _sos_Object::local_hash_value(x);
  508.    result ^= _sos_Ordered_object::local_hash_value(x);
  509.    result ^= _sos_String::local_hash_value(x);
  510.    return result;}
  511. sos_Int _sos_String::get_length(sos_Typed_id&_tpid)
  512. {  union {sos_Int x; char c[4];} u; sos_Int a;
  513.    _tpid.container().read(_tpid.offset()+_offset_sos_String()+0,4,&u);
  514.    bcopy_to_sos_Int(&a,&u);
  515.    return a;}
  516. void _sos_String::set_length(sos_Typed_id&_tpid,sos_Int a){
  517.    union {sos_Int x; char c[4];} u;
  518.    bcopy_from_sos_Int(&a,&u);
  519.    _tpid.container().write(_tpid.offset() + _offset_sos_String() + 0,4,&u);
  520. }
  521. sos_Offset _sos_String::get_address(sos_Typed_id&_tpid)
  522. {  union {sos_Offset x; char c[4];} u; sos_Offset a;
  523.    _tpid.container().read(_tpid.offset()+_offset_sos_String()+4,4,&u);
  524.    bcopy_to_sos_Offset(&a,&u);
  525.    return a;}
  526. void _sos_String::set_address(sos_Typed_id&_tpid,sos_Offset a){
  527.    union {sos_Offset x; char c[4];} u;
  528.    bcopy_from_sos_Offset(&a,&u);
  529.    _tpid.container().write(_tpid.offset() + _offset_sos_String() + 4,4,&u);
  530. }
  531. static sos_Object _univ_15319856_58880(sos_Object o,sos_Object_Array){
  532.    sos_String::make (o).destroy();
  533.    return NO_OBJECT;}
  534. static sos_Object _univ_15319856_58944(sos_Object o,sos_Object_Array p){
  535.    sos_Object o1=p[0];
  536.    sos_String::make (o).assign(sos_Object::make(o1));
  537.    return NO_OBJECT;}
  538. static sos_Object _univ_15319856_59008(sos_Object o,sos_Object_Array p){
  539.    sos_Object o1=p[0], o2=p[1];
  540.    return ::make_sos_Bool_object(sos_String::make (o).equal(sos_Object::make(o1),::make_sos_Eq_kind(o2)));}
  541. static sos_Object _univ_15319856_59072(sos_Object o,sos_Object_Array){
  542.    return ::make_sos_Int_object(sos_String::make (o).hash_value());}
  543. static sos_Object _univ_15319856_59136(sos_Object o,sos_Object_Array){
  544.    return ::make_sos_Cstring_object(sos_String::make (o).make_Cstring());}
  545. static sos_Object _univ_15319856_59200(sos_Object o,sos_Object_Array p){
  546.    sos_Object o1=p[0];
  547.    sos_String::make (o).assign_Cstring(::make_sos_Cstring(o1));
  548.    return NO_OBJECT;}
  549. static sos_Object _univ_15319856_59264(sos_Object o,sos_Object_Array p){
  550.    sos_Object o1=p[0];
  551.    sos_String::make (o).operator+=(sos_String::make(o1));
  552.    return NO_OBJECT;}
  553. static sos_Object _univ_15319856_59328(sos_Object o,sos_Object_Array){
  554.    return ::make_sos_Int_object(sos_String::make (o).size());}
  555. static sos_Object _univ_15319856_59392(sos_Object o,sos_Object_Array p){
  556.    sos_Object o1=p[0];
  557.    return ::make_sos_Comp_result_object(sos_String::make (o).compare(sos_Ordered_object::make(o1)));}
  558. static void _init_meth_15319856_28364(){
  559.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),58880),(cci_Fun)_univ_15319856_58880);
  560.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),58944),(cci_Fun)_univ_15319856_58944);
  561.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),59008),(cci_Fun)_univ_15319856_59008);
  562.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),59072),(cci_Fun)_univ_15319856_59072);
  563.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),59136),(cci_Fun)_univ_15319856_59136);
  564.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),59200),(cci_Fun)_univ_15319856_59200);
  565.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),59264),(cci_Fun)_univ_15319856_59264);
  566.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),59328),(cci_Fun)_univ_15319856_59328);
  567.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),59392),(cci_Fun)_univ_15319856_59392);
  568. }
  569. static sos_Object _univ_15319856_59456(sos_Object o,sos_Object_Array){
  570.    return ::make_sos_Int_object(sos_String::make (o).get_length());}
  571. static void _init_comp_15319856_28364(){
  572.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),59456),(cci_Fun)_univ_15319856_59456);
  573. }
  574. static sos_Object _univ_15319856_59712(sos_Object,sos_Object_Array p){
  575.    sos_Object o1=p[0];
  576.    return sos_Object::make(sos_String::create(::make_sos_Container(o1)));}
  577. static sos_Object _univ_15319856_59776(sos_Object,sos_Object_Array p){
  578.    sos_Object o1=p[0], o2=p[1];
  579.    return sos_Object::make(sos_String::copy(sos_String::make(o1),::make_sos_Container(o2)));}
  580. static sos_Object _univ_15319856_59840(sos_Object,sos_Object_Array p){
  581.    sos_Object o1=p[0], o2=p[1];
  582.    return sos_Object::make(sos_String::clone(sos_String::make(o1),::make_sos_Container(o2)));}
  583. static void _init_stat_15319856_28364(){
  584.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),59712),(cci_Fun)_univ_15319856_59712);
  585.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),59776),(cci_Fun)_univ_15319856_59776);
  586.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),59840),(cci_Fun)_univ_15319856_59840);
  587. }
  588. _sos_String *__sos_String_obj;
  589. static void _init_new_15319856_28364(){
  590.    cci_Schema_impl::enter_make_obj(_sos_Object_type,_sos_String_type,(_sos_Object*)__sos_String_obj);
  591.    cci_Schema_impl::enter_make_obj(_sos_Ordered_object_type,_sos_String_type,(_sos_Ordered_object*)__sos_String_obj);
  592.    cci_Schema_impl::enter_make_obj(_sos_String_type,_sos_String_type,(_sos_String*)__sos_String_obj);
  593. }
  594. sos_String::operator sos_Object(){return(sos_Object::make(_tpid,_ref));}
  595. sos_String::operator sos_Ordered_object(){return(sos_Ordered_object::make(_tpid,_ref));}
  596. sos_String sos_String::make(sos_Typed_id&p){
  597.    sos_String o; o._tpid=p;
  598.    o._ref=_sos_String::_make(p); return o;}
  599. sos_String sos_String::make(sos_Root_class& o){return sos_String::make(o.typed_id());}
  600.    sos_Offset sos_String::_size(){return _ref->_size();}
  601. sos_String sos_String::create(sos_Container _cnt){
  602.    sos_String _x=sos_String::make(sos_Typed_id::allocate(sos_String_type,_cnt,16));
  603.    _x._ref->_create(_x._tpid);
  604.    return _x;
  605. }
  606. sos_String sos_String::copy(sos_String y,sos_Container cnt){
  607.    sos_String x=sos_String::make(sos_Typed_id::allocate(sos_String_type,cnt,16));
  608.    x._ref->_copy(x._tpid,y);
  609.    x.assign(y);
  610.    return x;
  611. }
  612. sos_String sos_String::clone(sos_String o,sos_Container cnt){
  613.    return sos_String::make (o._ref->_clone(o._tpid,cnt));
  614. }
  615. void sos_String::destroy(){(_ref->destroy(_tpid));}
  616. sos_Int sos_String::hash_value(){return (_ref->hash_value(_tpid));}
  617. sos_Cstring sos_String::make_Cstring(){return (_ref->make_Cstring(_tpid));}
  618. void sos_String::operator+=(sos_String _p1){(_ref->__plus_assign(_tpid,_p1));}
  619. sos_Comp_result sos_String::compare(sos_Ordered_object _p1){return (_ref->compare(_tpid,_p1));}
  620. sos_Int sos_String::get_length(){return (_ref->get_length(_tpid));}
  621. void sos_String::set_length(sos_Int _p1){(_ref->set_length(_tpid,_p1));}
  622. void sos_String::local_assign(sos_String _p1,sos_Object _p2){(_sos_String::local_assign(_p1,_p2));}
  623. sos_Bool sos_String::local_equal(sos_String _p1,sos_Object _p2,sos_Eq_kind _p3){return (_sos_String::local_equal(_p1,_p2,_p3));}
  624. sos_Bool sos_String::operator<(sos_Ordered_object _p1){return (_ref->__less(_tpid,_p1));}
  625. sos_Bool sos_String::operator<=(sos_Ordered_object _p1){return (_ref->__less_equal(_tpid,_p1));}
  626. sos_Bool sos_String::operator>(sos_Ordered_object _p1){return (_ref->__greater(_tpid,_p1));}
  627. sos_Bool sos_String::operator>=(sos_Ordered_object _p1){return (_ref->__greater_equal(_tpid,_p1));}
  628. sos_Bool sos_String::has_type(sos_Type _p1){return (_ref->has_type(_tpid,_p1));}
  629. sos_Bool sos_String::isa(sos_Type _p1){return (_ref->isa(_tpid,_p1));}
  630. sos_Bool sos_String::operator==(sos_Object _p1){return (_ref->__equal(_tpid,_p1));}
  631. sos_Bool sos_String::operator!=(sos_Object _p1){return (_ref->__not_equal(_tpid,_p1));}
  632. void sos_String::assign(sos_Object source){(_ref->assign(_tpid,source));}
  633. sos_Bool sos_String::equal(sos_Object o,sos_Eq_kind eq_kind){return (_ref->equal(_tpid,o,eq_kind));}
  634. void sos_String::assign_Cstring(sos_Cstring _p1){(_ref->assign_Cstring(_tpid,_p1));}
  635. sos_Int sos_String::size(){return (_ref->size(_tpid));}
  636. sos_Offset sos_String::get_address(){return (_ref->get_address(_tpid));}
  637. void sos_String::set_address(sos_Offset _p1){(_ref->set_address(_tpid,_p1));}
  638. void sos_String::local_initialize(sos_String _p1){(_sos_String::local_initialize(_p1));}
  639. void sos_String::local_finalize(sos_String _p1){(_sos_String::local_finalize(_p1));}
  640. sos_Int sos_String::local_hash_value(sos_String _p1){return (_sos_String::local_hash_value(_p1));}
  641. sos_Type sos_String::type(){return (_ref->type(_tpid));}
  642. sos_Bool sos_String::is_some(sos_Type _p1){return (_ref->is_some(_tpid,_p1));}
  643. sos_Bool sos_String::is_value(){return (_ref->is_value(_tpid));}
  644. sos_Bool sos_String::identical(sos_Object _p1){return (_ref->identical(_tpid,_p1));}
  645. sos_Bool sos_String::like(sos_Object _p1){return (_ref->like(_tpid,_p1));}
  646. sos_Comp_result sos_String::compare_ids(sos_Object _p1){return (_ref->compare_ids(_tpid,_p1));}
  647. _sos_Named* _sos_Named::_make(sos_Typed_id &tpid)
  648. {  return (_sos_Named*)cci_Schema_impl::get_make_obj(_sos_Named_type,tpid.get_tp());
  649. }
  650. sos_Offset _sos_Named::_size(){return 8;}
  651. void _sos_Named::_create(sos_Typed_id&_tpid){
  652.    sos_Named _x=sos_Named::make(_tpid,this);
  653. }
  654. void _sos_Named::_copy(sos_Typed_id&_tpid,sos_Named y){
  655.    sos_Named x=sos_Named::make(_tpid,this);
  656. }
  657. sos_Object _sos_Named::_clone(sos_Typed_id&_tpid,sos_Container cnt){
  658.    sos_Named _x=sos_Named::make(_tpid,this);
  659.    return sos_Named::copy(_x,cnt);}
  660. void _sos_Named::destroy(sos_Typed_id&_tpid){
  661.    _tpid.container().deallocate(_tpid.offset(),8);}
  662. void _sos_Named::assign(sos_Typed_id&_tpid,sos_Object o){
  663.    sos_Named x=sos_Named::make(_tpid,this);
  664.    _sos_Object::local_assign(x,o);
  665.    _sos_Named::local_assign(x,o);
  666. }
  667. void _sos_Named::local_assign(sos_Named x,sos_Object o){
  668. }
  669. sos_Bool _sos_Named::equal(sos_Typed_id&_tpid,sos_Object o,sos_Eq_kind eq_kind){
  670.    sos_Named x=sos_Named::make(_tpid,this);
  671.    if (! _sos_Object::local_equal(x,o,eq_kind)) return FALSE;
  672.    if (! _sos_Named::local_equal(x,o,eq_kind)) return FALSE;
  673.    return TRUE;}
  674. sos_Bool _sos_Named::local_equal(sos_Named,sos_Object,sos_Eq_kind) { return TRUE;}
  675. sos_Int _sos_Named::hash_value(sos_Typed_id&_tpid){
  676.    sos_Named x=sos_Named::make(_tpid,this);
  677.    sos_Int result=0;
  678.    result ^= _sos_Object::local_hash_value(x);
  679.    result ^= _sos_Named::local_hash_value(x);
  680.    return result;}
  681. sos_Int _sos_Named::local_hash_value(sos_Named x){
  682.    return x.container().hash_value(x.offset()+x._ref->_offset_sos_Named(),0);}
  683. sos_String _sos_Named::get_name(sos_Typed_id&) {
  684.    err_raise_abstract_method ("sos_Named::get_name"); 
  685.    return sos_String::make(NO_OBJECT); }
  686. void _sos_Named::set_name(sos_Typed_id&,sos_String ) {
  687.    err_raise_abstract_method ("sos_Named::set_name"); }
  688. static sos_Object _univ_15319856_60224(sos_Object o,sos_Object_Array){
  689.    sos_Named::make (o).destroy();
  690.    return NO_OBJECT;}
  691. static sos_Object _univ_15319856_60288(sos_Object o,sos_Object_Array p){
  692.    sos_Object o1=p[0];
  693.    sos_Named::make (o).assign(sos_Object::make(o1));
  694.    return NO_OBJECT;}
  695. static sos_Object _univ_15319856_60352(sos_Object o,sos_Object_Array p){
  696.    sos_Object o1=p[0], o2=p[1];
  697.    return ::make_sos_Bool_object(sos_Named::make (o).equal(sos_Object::make(o1),::make_sos_Eq_kind(o2)));}
  698. static sos_Object _univ_15319856_60416(sos_Object o,sos_Object_Array){
  699.    return ::make_sos_Int_object(sos_Named::make (o).hash_value());}
  700. static sos_Object _univ_15319856_60480(sos_Object o,sos_Object_Array){
  701.    return sos_Object::make(sos_Named::make (o).get_name());}
  702. static sos_Object _univ_15319856_60544(sos_Object o,sos_Object_Array p){
  703.    sos_Object o1=p[0];
  704.    sos_Named::make (o).set_name(sos_String::make(o1));
  705.    return NO_OBJECT;}
  706. static void _init_meth_15319856_39164(){
  707.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),60224),(cci_Fun)_univ_15319856_60224);
  708.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),60288),(cci_Fun)_univ_15319856_60288);
  709.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),60352),(cci_Fun)_univ_15319856_60352);
  710.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),60416),(cci_Fun)_univ_15319856_60416);
  711.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),60480),(cci_Fun)_univ_15319856_60480);
  712.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),60544),(cci_Fun)_univ_15319856_60544);
  713. }
  714. static void _init_comp_15319856_39164(){
  715. }
  716. static sos_Object _univ_15319856_60608(sos_Object,sos_Object_Array p){
  717.    sos_Object o1=p[0];
  718.    return sos_Object::make(sos_Named::create(::make_sos_Container(o1)));}
  719. static sos_Object _univ_15319856_60672(sos_Object,sos_Object_Array p){
  720.    sos_Object o1=p[0], o2=p[1];
  721.    return sos_Object::make(sos_Named::copy(sos_Named::make(o1),::make_sos_Container(o2)));}
  722. static sos_Object _univ_15319856_60736(sos_Object,sos_Object_Array p){
  723.    sos_Object o1=p[0], o2=p[1];
  724.    return sos_Object::make(sos_Named::clone(sos_Named::make(o1),::make_sos_Container(o2)));}
  725. static void _init_stat_15319856_39164(){
  726.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),60608),(cci_Fun)_univ_15319856_60608);
  727.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),60672),(cci_Fun)_univ_15319856_60672);
  728.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),60736),(cci_Fun)_univ_15319856_60736);
  729. }
  730. _sos_Named *__sos_Named_obj;
  731. static void _init_new_15319856_39164(){
  732.    cci_Schema_impl::enter_make_obj(_sos_Object_type,_sos_Named_type,(_sos_Object*)__sos_Named_obj);
  733.    cci_Schema_impl::enter_make_obj(_sos_Named_type,_sos_Named_type,(_sos_Named*)__sos_Named_obj);
  734. }
  735. sos_Named::operator sos_Object(){return(sos_Object::make(_tpid,_ref));}
  736. sos_Named sos_Named::make(sos_Typed_id&p){
  737.    sos_Named o; o._tpid=p;
  738.    o._ref=_sos_Named::_make(p); return o;}
  739. sos_Named sos_Named::make(sos_Root_class& o){return sos_Named::make(o.typed_id());}
  740.    sos_Offset sos_Named::_size(){return _ref->_size();}
  741. sos_Named sos_Named::create(sos_Container _cnt){
  742.    sos_Named _x=sos_Named::make(sos_Typed_id::allocate(sos_Named_type,_cnt,8));
  743.    _x._ref->_create(_x._tpid);
  744.    return _x;
  745. }
  746. sos_Named sos_Named::copy(sos_Named y,sos_Container cnt){
  747.    sos_Named x=sos_Named::make(sos_Typed_id::allocate(sos_Named_type,cnt,8));
  748.    x._ref->_copy(x._tpid,y);
  749.    x.assign(y);
  750.    return x;
  751. }
  752. sos_Named sos_Named::clone(sos_Named o,sos_Container cnt){
  753.    return sos_Named::make (o._ref->_clone(o._tpid,cnt));
  754. }
  755. void sos_Named::destroy(){(_ref->destroy(_tpid));}
  756. void sos_Named::assign(sos_Object source){(_ref->assign(_tpid,source));}
  757. sos_Bool sos_Named::equal(sos_Object o,sos_Eq_kind eq_kind){return (_ref->equal(_tpid,o,eq_kind));}
  758. sos_Int sos_Named::hash_value(){return (_ref->hash_value(_tpid));}
  759. sos_String sos_Named::get_name(){return (_ref->get_name(_tpid));}
  760. void sos_Named::set_name(sos_String _p1){(_ref->set_name(_tpid,_p1));}
  761. sos_Type sos_Named::type(){return (_ref->type(_tpid));}
  762. sos_Bool sos_Named::has_type(sos_Type _p1){return (_ref->has_type(_tpid,_p1));}
  763. sos_Bool sos_Named::isa(sos_Type _p1){return (_ref->isa(_tpid,_p1));}
  764. sos_Bool sos_Named::is_some(sos_Type _p1){return (_ref->is_some(_tpid,_p1));}
  765. sos_Bool sos_Named::is_value(){return (_ref->is_value(_tpid));}
  766. sos_Int sos_Named::size(){return (_ref->size(_tpid));}
  767. sos_Bool sos_Named::identical(sos_Object _p1){return (_ref->identical(_tpid,_p1));}
  768. sos_Bool sos_Named::operator==(sos_Object _p1){return (_ref->__equal(_tpid,_p1));}
  769. sos_Bool sos_Named::operator!=(sos_Object _p1){return (_ref->__not_equal(_tpid,_p1));}
  770. sos_Bool sos_Named::like(sos_Object _p1){return (_ref->like(_tpid,_p1));}
  771. sos_Comp_result sos_Named::compare_ids(sos_Object _p1){return (_ref->compare_ids(_tpid,_p1));}
  772. void sos_Named::local_assign(sos_Named x,sos_Named y){(_sos_Named::local_assign(x,y));}
  773. sos_Bool sos_Named::local_equal(sos_Named x,sos_Named y,sos_Eq_kind eq_kind){return (_sos_Named::local_equal(x,y,eq_kind));}
  774. sos_Int sos_Named::local_hash_value(sos_Named x){return (_sos_Named::local_hash_value(x));}
  775. _sos_Type* _sos_Type::_make(sos_Typed_id &tpid)
  776. {  return (_sos_Type*)cci_Schema_impl::get_make_obj(_sos_Type_type,tpid.get_tp());
  777. }
  778. sos_Offset _sos_Type::_size(){return 28;}
  779. void _sos_Type::_create(sos_Typed_id&_tpid){
  780.    sos_Type _x=sos_Type::make(_tpid,this);
  781. }
  782. void _sos_Type::_copy(sos_Typed_id&_tpid,sos_Type y){
  783.    sos_Type x=sos_Type::make(_tpid,this);
  784. }
  785. sos_Object _sos_Type::_clone(sos_Typed_id&_tpid,sos_Container cnt){
  786.    sos_Type _x=sos_Type::make(_tpid,this);
  787.    return sos_Type::copy(_x,cnt);}
  788. void _sos_Type::destroy(sos_Typed_id&_tpid){
  789.    _tpid.container().deallocate(_tpid.offset(),28);}
  790. void _sos_Type::assign(sos_Typed_id&_tpid,sos_Object o){
  791.    sos_Type x=sos_Type::make(_tpid,this);
  792.    _sos_Object::local_assign(x,o);
  793.    _sos_Named::local_assign(x,o);
  794.    _sos_Type::local_assign(x,o);
  795. }
  796. void _sos_Type::local_assign(sos_Type x,sos_Object o){
  797.    sos_Type y=sos_Type::make(o);
  798.    y.container().copy(y.offset()+y._ref->_offset_sos_Type(),20,x.container(),x.offset()+x._ref->_offset_sos_Type());}
  799. sos_Bool _sos_Type::equal(sos_Typed_id&_tpid,sos_Object o,sos_Eq_kind eq_kind){
  800.    sos_Type x=sos_Type::make(_tpid,this);
  801.    if (! _sos_Object::local_equal(x,o,eq_kind)) return FALSE;
  802.    if (! _sos_Named::local_equal(x,o,eq_kind)) return FALSE;
  803.    if (! _sos_Type::local_equal(x,o,eq_kind)) return FALSE;
  804.    return TRUE;}
  805. sos_Bool _sos_Type::local_equal(sos_Type x,sos_Object o,sos_Eq_kind eq_kind){
  806.    if (eq_kind==EQ_STRONG) {if (!o.has_type(sos_Type_type)) return FALSE;}
  807.    else if (!o.isa(sos_Type_type)) return FALSE;
  808.    sos_Type y=sos_Type::make(o);
  809.    return (sos_Bool)x.container().equal(x.offset()+x._ref->_offset_sos_Type(),20,y.container(),y.offset()+y._ref->_offset_sos_Type());}
  810. sos_Int _sos_Type::hash_value(sos_Typed_id&_tpid){
  811.    sos_Type x=sos_Type::make(_tpid,this);
  812.    sos_Int result=0;
  813.    result ^= _sos_Object::local_hash_value(x);
  814.    result ^= _sos_Named::local_hash_value(x);
  815.    result ^= _sos_Type::local_hash_value(x);
  816.    return result;}
  817. sos_Int _sos_Type::local_hash_value(sos_Type x){
  818.    return x.container().hash_value(x.offset()+x._ref->_offset_sos_Type(),20);}
  819. sos_String _sos_Type::get_name(sos_Typed_id&_tpid)
  820. {  union {sos_Typed_id x; char c[16];} u; sos_Typed_id a;
  821.    _tpid.container().read(_tpid.offset()+_offset_sos_Type()+0,16,&u);
  822.    bcopy_to_sos_Typed_id(&a,&u);
  823.    return sos_String::make(a);}
  824. void _sos_Type::set_name(sos_Typed_id&_tpid,sos_String a){
  825.    union {sos_Typed_id x; char c[16];} u;
  826.    sos_Typed_id x=a.typed_id();
  827.    bcopy_from_sos_Typed_id(&x,&u);
  828.    _tpid.container().write(_tpid.offset() + _offset_sos_Type() + 0,16,&u);
  829. }
  830. sos_Int _sos_Type::get_object_size(sos_Typed_id&_tpid)
  831. {  union {sos_Int x; char c[4];} u; sos_Int a;
  832.    _tpid.container().read(_tpid.offset()+_offset_sos_Type()+16,4,&u);
  833.    bcopy_to_sos_Int(&a,&u);
  834.    return a;}
  835. void _sos_Type::set_object_size(sos_Typed_id&_tpid,sos_Int a){
  836.    union {sos_Int x; char c[4];} u;
  837.    bcopy_from_sos_Int(&a,&u);
  838.    _tpid.container().write(_tpid.offset() + _offset_sos_Type() + 16,4,&u);
  839. }
  840. static sos_Object _univ_15319856_60992(sos_Object o,sos_Object_Array){
  841.    sos_Type::make (o).destroy();
  842.    return NO_OBJECT;}
  843. static sos_Object _univ_15319856_61056(sos_Object o,sos_Object_Array p){
  844.    sos_Object o1=p[0];
  845.    sos_Type::make (o).assign(sos_Object::make(o1));
  846.    return NO_OBJECT;}
  847. static sos_Object _univ_15319856_61120(sos_Object o,sos_Object_Array p){
  848.    sos_Object o1=p[0], o2=p[1];
  849.    return ::make_sos_Bool_object(sos_Type::make (o).equal(sos_Object::make(o1),::make_sos_Eq_kind(o2)));}
  850. static sos_Object _univ_15319856_61184(sos_Object o,sos_Object_Array){
  851.    return ::make_sos_Int_object(sos_Type::make (o).hash_value());}
  852. static sos_Object _univ_15319856_61248(sos_Object o,sos_Object_Array p){
  853.    sos_Object o1=p[0];
  854.    return ::make_sos_Bool_object(sos_Type::make (o).is_derived_from(sos_Type::make(o1)));}
  855. static sos_Object _univ_15319856_61312(sos_Object o,sos_Object_Array p){
  856.    sos_Object o1=p[0];
  857.    return ::make_sos_Bool_object(sos_Type::make (o).is_derived_from_some(sos_Type::make(o1)));}
  858. static sos_Object _univ_15319856_61376(sos_Object o,sos_Object_Array){
  859.    return ::make_sos_Bool_object(sos_Type::make (o).is_scalar());}
  860. static sos_Object _univ_15319856_61440(sos_Object o,sos_Object_Array){
  861.    return sos_Object::make(sos_Type::make (o).base());}
  862. static sos_Object _univ_15319856_61504(sos_Object o,sos_Object_Array){
  863.    return sos_Object::make(sos_Type::make (o).root());}
  864. static void _init_meth_15319856_45644(){
  865.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),60992),(cci_Fun)_univ_15319856_60992);
  866.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),61056),(cci_Fun)_univ_15319856_61056);
  867.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),61120),(cci_Fun)_univ_15319856_61120);
  868.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),61184),(cci_Fun)_univ_15319856_61184);
  869.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),61248),(cci_Fun)_univ_15319856_61248);
  870.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),61312),(cci_Fun)_univ_15319856_61312);
  871.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),61376),(cci_Fun)_univ_15319856_61376);
  872.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),61440),(cci_Fun)_univ_15319856_61440);
  873.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),61504),(cci_Fun)_univ_15319856_61504);
  874. }
  875. static sos_Object _univ_15319856_61568(sos_Object o,sos_Object_Array){
  876.    return sos_Object::make(sos_Type::make (o).get_name());}
  877. static sos_Object _univ_15319856_61632(sos_Object o,sos_Object_Array p){
  878.    sos_Object o1=p[0];
  879.    sos_Type::make (o).set_name(sos_String::make(o1));
  880.    return NO_OBJECT;}
  881. static sos_Object _univ_15319856_61696(sos_Object o,sos_Object_Array){
  882.    return ::make_sos_Int_object(sos_Type::make (o).get_object_size());}
  883. static sos_Object _univ_15319856_61760(sos_Object o,sos_Object_Array p){
  884.    sos_Object o1=p[0];
  885.    sos_Type::make (o).set_object_size(::make_sos_Int(o1));
  886.    return NO_OBJECT;}
  887. static void _init_comp_15319856_45644(){
  888.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),61568),(cci_Fun)_univ_15319856_61568);
  889.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),61632),(cci_Fun)_univ_15319856_61632);
  890.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),61696),(cci_Fun)_univ_15319856_61696);
  891.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),61760),(cci_Fun)_univ_15319856_61760);
  892. }
  893. static sos_Object _univ_15319856_61824(sos_Object,sos_Object_Array p){
  894.    sos_Object o1=p[0];
  895.    return sos_Object::make(sos_Type::create(::make_sos_Container(o1)));}
  896. static sos_Object _univ_15319856_61888(sos_Object,sos_Object_Array p){
  897.    sos_Object o1=p[0], o2=p[1];
  898.    return sos_Object::make(sos_Type::copy(sos_Type::make(o1),::make_sos_Container(o2)));}
  899. static sos_Object _univ_15319856_61952(sos_Object,sos_Object_Array p){
  900.    sos_Object o1=p[0], o2=p[1];
  901.    return sos_Object::make(sos_Type::clone(sos_Type::make(o1),::make_sos_Container(o2)));}
  902. static void _init_stat_15319856_45644(){
  903.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),61824),(cci_Fun)_univ_15319856_61824);
  904.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),61888),(cci_Fun)_univ_15319856_61888);
  905.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(15319856),61952),(cci_Fun)_univ_15319856_61952);
  906. }
  907. _sos_Type *__sos_Type_obj;
  908. static void _init_new_15319856_45644(){
  909.    cci_Schema_impl::enter_make_obj(_sos_Object_type,_sos_Type_type,(_sos_Object*)__sos_Type_obj);
  910.    cci_Schema_impl::enter_make_obj(_sos_Named_type,_sos_Type_type,(_sos_Named*)__sos_Type_obj);
  911.    cci_Schema_impl::enter_make_obj(_sos_Type_type,_sos_Type_type,(_sos_Type*)__sos_Type_obj);
  912. }
  913. sos_Type::operator sos_Object(){return(sos_Object::make(_tpid,_ref));}
  914. sos_Type::operator sos_Named(){return(sos_Named::make(_tpid,_ref));}
  915. sos_Type sos_Type::make(sos_Typed_id&p){
  916.    sos_Type o; o._tpid=p;
  917.    o._ref=_sos_Type::_make(p); return o;}
  918. sos_Type sos_Type::make(sos_Root_class& o){return sos_Type::make(o.typed_id());}
  919.    sos_Offset sos_Type::_size(){return _ref->_size();}
  920. sos_Type sos_Type::create(sos_Container _cnt){
  921.    sos_Type _x=sos_Type::make(sos_Typed_id::allocate(sos_Type_type,_cnt,28));
  922.    _x._ref->_create(_x._tpid);
  923.    return _x;
  924. }
  925. sos_Type sos_Type::copy(sos_Type y,sos_Container cnt){
  926.    sos_Type x=sos_Type::make(sos_Typed_id::allocate(sos_Type_type,cnt,28));
  927.    x._ref->_copy(x._tpid,y);
  928.    x.assign(y);
  929.    return x;
  930. }
  931. sos_Type sos_Type::clone(sos_Type o,sos_Container cnt){
  932.    return sos_Type::make (o._ref->_clone(o._tpid,cnt));
  933. }
  934. void sos_Type::destroy(){(_ref->destroy(_tpid));}
  935. sos_Int sos_Type::hash_value(){return (_ref->hash_value(_tpid));}
  936. sos_Bool sos_Type::is_derived_from(sos_Type _p1){return (_ref->is_derived_from(_tpid,_p1));}
  937. sos_Bool sos_Type::is_derived_from_some(sos_Type _p1){return (_ref->is_derived_from_some(_tpid,_p1));}
  938. sos_Bool sos_Type::is_scalar(){return (_ref->is_scalar(_tpid));}
  939. sos_Type sos_Type::root(){return (_ref->root(_tpid));}
  940. sos_String sos_Type::get_name(){return (_ref->get_name(_tpid));}
  941. void sos_Type::set_name(sos_String _p1){(_ref->set_name(_tpid,_p1));}
  942. sos_Bool sos_Type::has_type(sos_Type _p1){return (_ref->has_type(_tpid,_p1));}
  943. sos_Bool sos_Type::isa(sos_Type _p1){return (_ref->isa(_tpid,_p1));}
  944. sos_Bool sos_Type::operator==(sos_Object _p1){return (_ref->__equal(_tpid,_p1));}
  945. sos_Bool sos_Type::operator!=(sos_Object _p1){return (_ref->__not_equal(_tpid,_p1));}
  946. void sos_Type::local_assign(sos_Type x,sos_Type y){(_sos_Type::local_assign(x,y));}
  947. sos_Bool sos_Type::local_equal(sos_Type x,sos_Type y,sos_Eq_kind eq_kind){return (_sos_Type::local_equal(x,y,eq_kind));}
  948. void sos_Type::assign(sos_Object source){(_ref->assign(_tpid,source));}
  949. sos_Bool sos_Type::equal(sos_Object o,sos_Eq_kind eq_kind){return (_ref->equal(_tpid,o,eq_kind));}
  950. sos_Type sos_Type::base(){return (_ref->base(_tpid));}
  951. sos_Int sos_Type::get_object_size(){return (_ref->get_object_size(_tpid));}
  952. void sos_Type::set_object_size(sos_Int _p1){(_ref->set_object_size(_tpid,_p1));}
  953. sos_Type sos_Type::type(){return (_ref->type(_tpid));}
  954. sos_Bool sos_Type::is_some(sos_Type _p1){return (_ref->is_some(_tpid,_p1));}
  955. sos_Bool sos_Type::is_value(){return (_ref->is_value(_tpid));}
  956. sos_Int sos_Type::size(){return (_ref->size(_tpid));}
  957. sos_Bool sos_Type::identical(sos_Object _p1){return (_ref->identical(_tpid,_p1));}
  958. sos_Bool sos_Type::like(sos_Object _p1){return (_ref->like(_tpid,_p1));}
  959. sos_Comp_result sos_Type::compare_ids(sos_Object _p1){return (_ref->compare_ids(_tpid,_p1));}
  960. sos_Int sos_Type::local_hash_value(sos_Type x){return (_sos_Type::local_hash_value(x));}
  961. static struct _sos_init_dummy {
  962.    _sos_init_dummy() {_knl_init_sos();}   ~_sos_init_dummy(){}
  963.    } _sos_dummy;
  964. static int _sos_initialized=0;
  965. void _knl_init_sos(){
  966.    if (_sos_initialized) return;
  967.    _sos_initialized=1;
  968.    cci_Schema_impl::enter_make_obj(_sos_Object_type,_sos_Int_type,(_sos_Object*) new _sos_Scalar_object);
  969.    cci_Schema_impl::enter_make_obj(_sos_Scalar_object_type,_sos_Int_type,(_sos_Scalar_object*) new _sos_Scalar_object);
  970.    cci_Schema_impl::enter_string_io (_sos_Int_type,(cci_IO_fun)make_string_from_sos_Int_object,(cci_IO_fun)make_sos_Int_object_from_string);
  971.    cci_Schema_impl::enter_make_obj(_sos_Object_type,_sos_Char_type,(_sos_Object*) new _sos_Scalar_object);
  972.    cci_Schema_impl::enter_make_obj(_sos_Scalar_object_type,_sos_Char_type,(_sos_Scalar_object*) new _sos_Scalar_object);
  973.    cci_Schema_impl::enter_string_io (_sos_Char_type,(cci_IO_fun)make_string_from_sos_Char_object,(cci_IO_fun)make_sos_Char_object_from_string);
  974.    cci_Schema_impl::enter_make_obj(_sos_Object_type,_sos_Cstring_type,(_sos_Object*) new _sos_Scalar_object);
  975.    cci_Schema_impl::enter_make_obj(_sos_Scalar_object_type,_sos_Cstring_type,(_sos_Scalar_object*) new _sos_Scalar_object);
  976.    cci_Schema_impl::enter_string_io (_sos_Cstring_type,(cci_IO_fun)make_string_from_sos_Cstring_object,(cci_IO_fun)make_sos_Cstring_object_from_string);
  977.    cci_Schema_impl::enter_make_obj(_sos_Object_type,_sos_Pointer_type,(_sos_Object*) new _sos_Scalar_object);
  978.    cci_Schema_impl::enter_make_obj(_sos_Scalar_object_type,_sos_Pointer_type,(_sos_Scalar_object*) new _sos_Scalar_object);
  979.    cci_Schema_impl::enter_string_io (_sos_Pointer_type,(cci_IO_fun)make_string_from_sos_Pointer_object,(cci_IO_fun)make_sos_Pointer_object_from_string);
  980.    cci_Schema_impl::enter_make_obj(_sos_Object_type,_sos_Container_type,(_sos_Object*) new _sos_Scalar_object);
  981.    cci_Schema_impl::enter_make_obj(_sos_Scalar_object_type,_sos_Container_type,(_sos_Scalar_object*) new _sos_Scalar_object);
  982.    cci_Schema_impl::enter_string_io (_sos_Container_type,(cci_IO_fun)make_string_from_sos_Container_object,(cci_IO_fun)make_sos_Container_object_from_string);
  983.    cci_Schema_impl::enter_make_obj(_sos_Object_type,_sos_Id_type,(_sos_Object*) new _sos_Scalar_object);
  984.    cci_Schema_impl::enter_make_obj(_sos_Scalar_object_type,_sos_Id_type,(_sos_Scalar_object*) new _sos_Scalar_object);
  985.    cci_Schema_impl::enter_string_io (_sos_Id_type,(cci_IO_fun)make_string_from_sos_Id_object,(cci_IO_fun)make_sos_Id_object_from_string);
  986.    cci_Schema_impl::enter_make_obj(_sos_Object_type,_sos_Offset_type,(_sos_Object*) new _sos_Scalar_object);
  987.    cci_Schema_impl::enter_make_obj(_sos_Scalar_object_type,_sos_Offset_type,(_sos_Scalar_object*) new _sos_Scalar_object);
  988.    cci_Schema_impl::enter_string_io (_sos_Offset_type,(cci_IO_fun)make_string_from_sos_Offset_object,(cci_IO_fun)make_sos_Offset_object_from_string);
  989.    cci_Schema_impl::enter_make_obj(_sos_Object_type,_sos_Bool_type,(_sos_Object*) new _sos_Scalar_object);
  990.    cci_Schema_impl::enter_make_obj(_sos_Scalar_object_type,_sos_Bool_type,(_sos_Scalar_object*) new _sos_Scalar_object);
  991.    cci_Schema_impl::enter_make_obj(_sos_Object_type,_sos_Eq_kind_type,(_sos_Object*) new _sos_Scalar_object);
  992.    cci_Schema_impl::enter_make_obj(_sos_Scalar_object_type,_sos_Eq_kind_type,(_sos_Scalar_object*) new _sos_Scalar_object);
  993.    cci_Schema_impl::enter_make_obj(_sos_Object_type,_sos_Comp_result_type,(_sos_Object*) new _sos_Scalar_object);
  994.    cci_Schema_impl::enter_make_obj(_sos_Scalar_object_type,_sos_Comp_result_type,(_sos_Scalar_object*) new _sos_Scalar_object);
  995.    __sos_Object_obj=new _sos_Object;
  996.    _init_meth_15319856_3764();
  997.    _init_comp_15319856_3764();
  998.    _init_stat_15319856_3764();
  999.    _init_new_15319856_3764();
  1000.    __sos_Ordered_object_obj=new _sos_Ordered_object;
  1001.    _init_meth_15319856_13556();
  1002.    _init_comp_15319856_13556();
  1003.    _init_stat_15319856_13556();
  1004.    _init_new_15319856_13556();
  1005.    __sos_Scalar_object_obj=new _sos_Scalar_object;
  1006.    _init_meth_15319856_21084();
  1007.    _init_comp_15319856_21084();
  1008.    _init_stat_15319856_21084();
  1009.    _init_new_15319856_21084();
  1010.    __sos_String_obj=new _sos_String;
  1011.    _init_meth_15319856_28364();
  1012.    _init_comp_15319856_28364();
  1013.    _init_stat_15319856_28364();
  1014.    _init_new_15319856_28364();
  1015.    __sos_Named_obj=new _sos_Named;
  1016.    _init_meth_15319856_39164();
  1017.    _init_comp_15319856_39164();
  1018.    _init_stat_15319856_39164();
  1019.    _init_new_15319856_39164();
  1020.    __sos_Type_obj=new _sos_Type;
  1021.    _init_meth_15319856_45644();
  1022.    _init_comp_15319856_45644();
  1023.    _init_stat_15319856_45644();
  1024.    _init_new_15319856_45644();
  1025. }
  1026.